LW2000

 

Nombre:      MeltICE (Anti-sice routine)

Víctima:       EXAMPLE.EXE

Herramientas:       W32Dasm v8.93

                            Hacker’s View v6.01

                            Cerebro

Cracker:                LW2000

Tutorial:                número 58

 

Renuncia: Este tutorial tiene una finalidad únicamente educativa. No asumo ninguna responsabilidad por el mal uso de éste material.

 

Bien, en primer lugar ¿qué es MeltICE? MeltICE es una rutina anti-sice que localiza SoftICE si el ‘.VDX’ está instalado.

 

Abrimos el fichero en W32Dasm y hacemos un ‘dead list’. En éste tutorial le enseñaré cómo cargarnos MeltICE si la cadena está ‘hardcoded’. Quizá en un próximo tutorial le enseñe cómo carganos las cadenas MeltICE no ‘hardcoded’ … Las entradas que necesitamos son fáciles de localizar ya que las cadenas son \\.\\SICE y “ \\.\\NTICE”.

 

Deberíamos ver algo como esto:

 

:002214DF 6A13          push 00000013

:002214E1 68000000D0   push D0000000

 

* Possible StringData Ref from Data Obj ->"\\.\SICE"

                                       |

:002214E6 6828734400    push 00447328

 

* Reference To: KERNEL32.CreateFileA, Ord:0000h

                                  |

:002214EB E806440400    Call 004458F6     >Crea el fichero

:002214F0 8945FC        mov dword ptr [ebp-04], eax

:002214F3 837DFCFF      cmp dword ptr [ebp-04], FFFFFFFF   >Está ahí

>el fichero

:002214F7 7410         je 00221509       >No hay fichero = salto

:002214F9 FF75FC        push [ebp-04]

 

* Reference To: KERNEL32.CloseHandle, Ord:0000h      >Cierra el

>fichero

                                       |

:002214FC E8E3430400    Call 004458E4

:00221501 B801000000    mov eax, 00000001       >EAX = 1

:00221506 59            pop ecx

:00221507 5D            pop ebp

:00221508 C3            ret    

 

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:002214F7(C)                                   

 

:00221509 33C0          xor eax, eax      >RET con EAX = 0

:0022150B 59            pop ecx

:0022150C 5D            pop ebp

 

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:002214A2(C)

 

:0022150D C3            ret    

 

La parte NTICE es igual y las referencia a ésa cadena la encontraremos sólo unas cuantas líneas más adelante. ¿Cómo cargarnos a ésta ‘bicha’? ¡Hmmm! Cambiamos el ‘JE’ a ‘JNE’ y ya no tendremos más problemas al ejecutar SoftICE …

 

¡Enhorabuena! Ahora ya sabemos lo suficiente como para derrotar a MeltICE con cadenas ‘hardcoded’.

 

¡Se acabó! Fácil, ¿no? ¿Algún comentario? Envíeme un email a LW2000@gmx.net. o vaya a http://www.LW2000.cjb.net

 

Gracias a tKC por sus tutoriales. Empecé leyendo su primer tutorial y todavía sigo leyéndolos.

 

Traducción de: MeGaBiTe